﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace PServiceBus.Core.Runtime.Topics {
    /// <summary>
    /// Contains information about subscription. Such as topic id and filter
    /// </summary>
    [Serializable]
    public class SubscriptionEntry {
        /// <summary>
        /// Gets or sets the ID.
        /// </summary>
        /// <value>The ID.</value>
        public Guid ID { get; set; }
        /// <summary>
        /// Gets or sets the message filter.
        /// </summary>
        /// <value>The message filter.</value>
        public string MessageFilter { get; set; }

        /// <summary>
        /// Gets or sets the case sensitive
        /// </summary>
        public bool CaseSensitive { get; set; }

        /// <summary>
        /// Flag to determine if Message Header should be included in received messages
        /// </summary>
        public bool NeedMessageHeaders { get; set; }

        /// <summary>
        /// Name of topic for subscription (Include to make wildcard search faster)
        /// </summary>
        public string TopicName { get; set; }

        /// <summary>
        /// Returns true if subscription uses wildcard patterns
        /// </summary>
        public bool IsWildCard { get; set; }
    }
}
